2c847170f51953f1f0d9e9675d20d85a4a5a7788,opennms-install/src/main/java/org/opennms/install/Installer.java,Installer,install,#String[]#,139
Before Change
loadProperties();
parseArguments(argv);
if (!m_update_database && !m_do_inserts && !m_update_iplike
&& !m_update_unicode && m_tomcat_conf == null
&& !m_install_webapp && !m_fix_constraint) {
usage(options, m_commandLine, "Nothing to do. Use -h for help.",
null);
System.exit(1);
}
m_installerDb.setForce(m_force);
m_installerDb.setIgnoreNotNull(m_ignore_not_null);
m_installerDb.setNoRevert(m_do_not_revert);
File cfgFile = ConfigFileConstants.getFile(ConfigFileConstants.OPENNMS_DATASOURCE_CONFIG_FILE_NAME);
JdbcDataSource adminDs = C3P0ConnectionFactory.marshalDataSourceFromConfig(new FileReader(cfgFile), ADMIN_DATA_SOURCE_NAME);
m_installerDb.setAdminDataSource(new SimpleDataSource(adminDs));
JdbcDataSource ds = C3P0ConnectionFactory.marshalDataSourceFromConfig(new FileReader(cfgFile), OPENNMS_DATA_SOURCE_NAME);
m_installerDb.setDataSource(new SimpleDataSource(ds));
m_installerDb.setPostgresOpennmsUser(ds.getUserName());
m_installerDb.setPostgresOpennmsPassword(ds.getPassword());
m_installerDb.setDatabaseName(ds.getDatabaseName());
/*
* make sure we can load the ICMP library before we go any farther
*/
if (!Boolean.getBoolean("skip-native")) {
String icmp_path = findLibrary("jicmp", m_library_search_path, true);
String jrrd_path = findLibrary("jrrd", m_library_search_path, false);
writeLibraryConfig(icmp_path, jrrd_path);
}
/*
* Everything needs to use the administrative data source until we
* verify that the opennms database is created below (and where we
* create it if it doesn't already exist).
*/
// XXX Check Tomcat version?
if (m_update_database || m_update_iplike || m_update_unicode
|| m_do_inserts || m_fix_constraint) {
if (!m_ignore_database_version) {
m_installerDb.databaseCheckVersion();
}
m_installerDb.databaseCheckLanguage();
}
printDiagnostics();
verifyFilesAndDirectories();
if (m_install_webapp) {
checkWebappOldOpennmsDir();
checkServerXmlOldOpennmsContext();
}
if (m_update_database || m_fix_constraint) {
m_installerDb.readTables();
}
if (m_update_database) {
// XXX Check and optionally modify pg_hba.conf
if (!m_installerDb.databaseUserExists()) {
m_installerDb.databaseAddUser();
}
if (!m_installerDb.databaseDBExists()) {
m_installerDb.databaseAddDB();
}
}
m_installerDb.checkUnicode();
// We can now use the opennms database
if (m_fix_constraint) {
m_installerDb.fixConstraint(m_fix_constraint_name,
m_fix_constraint_remove_rows);
}
if (m_update_database) {
m_installerDb.checkOldTables();
if (!m_skip_constraints) {
m_installerDb.checkConstraints();
m_installerDb.checkIndexUniqueness();
}
m_installerDb.createSequences();
// should we be using createFunctions and createLanguages instead?
m_installerDb.updatePlPgsql();
// should we be using createFunctions instead?
m_installerDb.addStoredProcedures();
m_installerDb.addColumnReplacements();
m_installerDb.createTables();
m_installerDb.closeColumnReplacements();
m_installerDb.fixData();
}
if (m_do_inserts) {
m_installerDb.insertData();
}
if (m_update_unicode) {
m_out.println("WARNING: the -U option is deprecated, it does nothing now");
}
if (m_do_vacuum) {
m_installerDb.vacuumDatabase(m_do_full_vacuum);
}
if (m_install_webapp) {
installWebApp();
}
if (m_tomcat_conf != null) {
updateTomcatConf();
}
if (m_update_iplike) {
m_installerDb.updateIplike();
}
if (m_update_database && m_remove_database) {
m_installerDb.disconnect();
m_installerDb.databaseRemoveDB();
}
m_installerDb.disconnect();
if (m_update_database) {
createConfiguredFile();
After Change
loadProperties();
parseArguments(argv);
boolean doDatabase = (m_update_database || m_do_inserts || m_update_iplike || m_update_unicode || m_fix_constraint);
if (!doDatabase && m_tomcat_conf == null && !m_install_webapp && m_library_search_path == null) {
usage(options, m_commandLine, "Nothing to do. Use -h for help.", null);
System.exit(1);
}
if (doDatabase) {
m_installerDb.setForce(m_force);
m_installerDb.setIgnoreNotNull(m_ignore_not_null);
m_installerDb.setNoRevert(m_do_not_revert);
File cfgFile = ConfigFileConstants.getFile(ConfigFileConstants.OPENNMS_DATASOURCE_CONFIG_FILE_NAME);
Reader fr = new FileReader(cfgFile);
JdbcDataSource adminDs = C3P0ConnectionFactory.marshalDataSourceFromConfig(fr, ADMIN_DATA_SOURCE_NAME);
fr.close();
m_installerDb.setAdminDataSource(new SimpleDataSource(adminDs));
fr = new FileReader(cfgFile);
JdbcDataSource ds = C3P0ConnectionFactory.marshalDataSourceFromConfig(fr, OPENNMS_DATA_SOURCE_NAME);
m_installerDb.setDataSource(new SimpleDataSource(ds));
fr.close();
m_installerDb.setPostgresOpennmsUser(ds.getUserName());
m_installerDb.setPostgresOpennmsPassword(ds.getPassword());
m_installerDb.setDatabaseName(ds.getDatabaseName());
}
/*
* make sure we can load the ICMP library before we go any farther
*/
if (!Boolean.getBoolean("skip-native")) {
String icmp_path = findLibrary("jicmp", m_library_search_path, true);
String jrrd_path = findLibrary("jrrd", m_library_search_path, false);
writeLibraryConfig(icmp_path, jrrd_path);
}
/*
* Everything needs to use the administrative data source until we
* verify that the opennms database is created below (and where we
* create it if it doesn't already exist).
*/
if (doDatabase) {
if (!m_ignore_database_version) {
m_installerDb.databaseCheckVersion();
}
m_installerDb.databaseCheckLanguage();
m_out.println("* using '" + m_installerDb.getPostgresOpennmsUser() + "' as the PostgreSQL user for OpenNMS");
m_out.println("* using '" + m_installerDb.getPostgresOpennmsPassword() + "' as the PostgreSQL password for OpenNMS");
m_out.println("* using '" + m_installerDb.getDatabaseName() + "' as the PostgreSQL database name for OpenNMS");
}
verifyFilesAndDirectories();
if (m_install_webapp) {
checkWebappOldOpennmsDir();
checkServerXmlOldOpennmsContext();
}
if (m_update_database || m_fix_constraint) {
m_installerDb.readTables();
}
if (m_update_database) {
// XXX Check and optionally modify pg_hba.conf
if (!m_installerDb.databaseUserExists()) {
m_installerDb.databaseAddUser();
}
if (!m_installerDb.databaseDBExists()) {
m_installerDb.databaseAddDB();
}
}
if (doDatabase) {
m_installerDb.checkUnicode();
}
// We can now use the opennms database
if (m_fix_constraint) {
m_installerDb.fixConstraint(m_fix_constraint_name,
m_fix_constraint_remove_rows);
}
if (m_update_database) {
m_installerDb.checkOldTables();
if (!m_skip_constraints) {
m_installerDb.checkConstraints();
m_installerDb.checkIndexUniqueness();
}
m_installerDb.createSequences();
// should we be using createFunctions and createLanguages instead?
m_installerDb.updatePlPgsql();
// should we be using createFunctions instead?
m_installerDb.addStoredProcedures();
m_installerDb.addColumnReplacements();
m_installerDb.createTables();
m_installerDb.closeColumnReplacements();
m_installerDb.fixData();
}
if (m_do_inserts) {
m_installerDb.insertData();
}
if (m_update_unicode) {
m_out.println("WARNING: the -U option is deprecated, it does nothing now");
}
if (m_do_vacuum) {
m_installerDb.vacuumDatabase(m_do_full_vacuum);
}
if (m_install_webapp) {
installWebApp();
}
if (m_tomcat_conf != null) {
updateTomcatConf();
}
if (m_update_iplike) {
m_installerDb.updateIplike();
}
if (m_update_database && m_remove_database) {
m_installerDb.disconnect();
m_installerDb.databaseRemoveDB();
}
if (doDatabase) {
m_installerDb.disconnect();
}
if (m_update_database) {